//websocket和静态资源服务器都要开启
//需求：又开启websocket服务器，又能开启web静态资源服务器

const SocketServer = require("ws").Server;
const express = require("express");
const http = require("http");

// web服务器
const app = express();
app.use(express.static("./")); //开启静态资源服务器

// 利用http模块连接websocket服务器与web服务器
let server = http.createServer(app);

// WebSocket服务器
let wss = new SocketServer({
  //开启websocket服务器
  // 在websocket中设置server,连接http模块
  server,
});
// console.log('socket服务器启动成功')

server.listen(2089, () => {
  console.log("web & websockt server启动成功,端口号2089");
});

//监听客户端消息
wss.on("connection", (client) => {
  //client-王祖贤
  console.log("客户端连接服务器了");
  client.on("message", (mes) => {
    //把前端发过来的数据广播给所有的用户
    console.log(mes);
    wss.clients.forEach((item) => {
      //clients-梁朝伟/刘德华/朱一龙/王祖贤
      //广播消息
      item.send(mes);
    });
  });
});
